package com.xjy.system.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

import com.xjy.common.core.domain.BaseEntity;

/**
 * 预付账款信息分页查询对象 sys_credit_advance
 *
 * @author xjy
 * @date 2022-02-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("预付账款信息分页查询对象")
public class SysCreditAdvanceQueryBo extends BaseEntity {

	/** 分页大小 */
	@ApiModelProperty("分页大小")
	private Integer pageSize;
	/** 当前页数 */
	@ApiModelProperty("当前页数")
	private Integer pageNum;
	/** 排序列 */
	@ApiModelProperty("排序列")
	private String orderByColumn;
	/** 排序的方向desc或者asc */
	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
	private String isAsc;


	@ApiModelProperty("预付账款id")
	private Long id;
	@ApiModelProperty("ID集合")
	private List<Long> idList;
	/** 项目id */
	@ApiModelProperty("项目id")
	private Long projId;
	/** 项目名称 */
	@ApiModelProperty("项目名称")
	private String projName;
	/** 合同id */
	@ApiModelProperty("合同id")
	private Long contractId;
	/** 结算项目id */
	@ApiModelProperty("结算项目id")
	private Long resultProjId;
	@ApiModelProperty("结算项目名称")
	private String resultProjName;
	/** 预算科目ID */
	@ApiModelProperty("预算科目ID")
	private Long budgetId;

	@ApiModelProperty("预算科目名称")
	private String budgetName;
	/** 预付账款支付单据编号 */
	@ApiModelProperty("预付账款支付单据编号")
	private String advanceNo;
	@ApiModelProperty("预付账款支付单据编号集合")
	private List<String> advanceNoList;
	/** 预付账款退回单据编号 */
	@ApiModelProperty("预付账款退回单据编号")
	private String advanceNoBack;

	@ApiModelProperty("预付账款冲销单据编号")
	private String advanceNoCharge;

	@ApiModelProperty("预付账款冲销单据编号集合")
	private List<String> advanceNoChargeList;

	/** 预付账款类别0：协议支付，1：预付退回 */
	@ApiModelProperty("预付账款类别0：协议支付，1：预付退回")
	private Integer advanceType;
	/** 预付账款付款方 */
	@ApiModelProperty("预付账款付款方")
	private String advancePayer;
	/** 预付账款付款方id */
	@ApiModelProperty("预付账款付款方id")
	private Long advancePayId;
	/** 预付账款收款方 */
	@ApiModelProperty("预付账款收款方")
	private String advanceColer;
	/** 预付账款收款方id */
	@ApiModelProperty("预付账款收款方id")
	private Long advanceColId;
	/** 预付账款发生金额 */
	@ApiModelProperty("预付账款发生金额")
	private BigDecimal advanceAmt;
	/** 预付账款发生日期 */
	@ApiModelProperty("预付账款发生日期")
	@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
	private Date advanceOpenTime;
	/** 支付之后进行冲抵/退回操作，剩余的金额 */
	@ApiModelProperty("支付之后进行冲抵/退回操作，剩余的金额")
	private BigDecimal advanceBalance;
	/** 冲销状态0：未冲销；1：已冲销 */
	@ApiModelProperty("冲销状态0：未冲销；1：已冲销")
	private Integer writeoffStatus;
	/** 经办人 */
	@ApiModelProperty("经办人")
	private String handler;
	/** 经办人id */
	@ApiModelProperty("经办人id")
	private Long handlerId;
	/** 支付方式0：现金，1：银行（默认：银行) */
	@ApiModelProperty("支付方式0：现金，1：银行（默认：银行)")
	private Integer payType;
	/** 支付账户账户ID */
	@ApiModelProperty("支付账户账户ID")
	private Long payAccountId;
	/** 支付账户名称 */
	@ApiModelProperty("支付账户名称")
	private String payAccountName;
	/** 支付账户开户行 */
	@ApiModelProperty("支付账户开户行")
	private String payAccountBank;
	/** 支付账户号码 */
	@ApiModelProperty("支付账户号码")
	private String payAccountNo;
	/** 票据影像：存文件路径 */
	@ApiModelProperty("票据影像：存文件路径")
	private String image;
	/** 影像名称 */
	@ApiModelProperty("影像名称")
	private String imageName;
	/** 上传时间 */
	@ApiModelProperty("上传时间")
	private Date uploadTime;
	/** 预留字段1 */
	@ApiModelProperty("预留字段1")
	private String reserveOne;
	/** 预留字段2 */
	@ApiModelProperty("预留字段2")
	private String reserveTwo;
	/** 预留字段3 */
	@ApiModelProperty("预留字段3")
	private String reserveThree;

	@ApiModelProperty("对方银行账户名称")
	private String colBankName;


	@ApiModelProperty("对方银行账户开户行")
	private String colBank;

	@ApiModelProperty("对方银行账户号码")
	private String colBankNo;

	/** 审核状态 0：未审核（默认）；1：审核 */
	@ApiModelProperty("审核状态 0：未审核（默认）；1：审核")
	private Boolean auditStatus;

}
